/*
 * Copyright (C) 2018 ETH Zurich and University of Bologna
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* 
 * Mantainer: Luca Valente, luca.valente2@unibo.it
 */
int n_stimuli = 400;

int32_t stim_mul_a[] = {
  -154485726,
  -1013213160,
  -301416937,
  -271733979,
  524880063,
  -787459488,
  -65309929,
  -857556093,
  -300214978,
  1108674877,
  716855359,
  1280921626,
  -1894293788,
  305726055,
  -217107042,
  245886233,
  -910744557,
  591246689,
  -709135455,
  1154255815,
  668544094,
  -99491824,
  -125846183,
  1092185019,
  -72653363,
  145169460,
  830455726,
  -1191754648,
  1700723266,
  -1760460706,
  -418316074,
  613557473,
  736416275,
  891342586,
  -457206671,
  211209859,
  675763757,
  237509784,
  -344041536,
  528784600,
  -1018215570,
  811827222,
  270799900,
  -114562283,
  1001368181,
  549864278,
  83532091,
  -609909412,
  404067886,
  -1005458812,
  939272998,
  -565054168,
  -461594866,
  -1148595829,
  42339056,
  -1502252289,
  -710913348,
  -352098875,
  -976513575,
  1646638218,
  428680030,
  -460690918,
  238034856,
  914272240,
  -1604550277,
  1463076644,
  -74781042,
  371606036,
  -693565063,
  775507772,
  192201398,
  -1382982437,
  -482818368,
  -1445072554,
  -40808103,
  -653876679,
  -975273732,
  -544206843,
  236608635,
  196972152,
  -375260326,
  -1737296406,
  1225918742,
  587387565,
  195021652,
  -1772281613,
  609055974,
  1149255254,
  710716306,
  1202755950,
  -350628753,
  179419477,
  -208494702,
  233445243,
  -1037713027,
  -605045055,
  -1075580139,
  11196807,
  1605253788,
  115125488,
  -172779359,
  -591266328,
  1497102271,
  -451133387,
  -917986774,
  1520216423,
  -322661887,
  -958641996,
  895010085,
  -267580312,
  584722126,
  -1106578445,
  -282985074,
  -880686049,
  -266636517,
  -1079866230,
  318078549,
  430019857,
  -30082940,
  1564417504,
  510077345,
  116717086,
  -1751532,
  1481744396,
  -1028698495,
  1213116664,
  -138224303,
  -559611603,
  408652410,
  -720131754,
  -1175247495,
  -1499238049,
  722341231,
  -1664750354,
  121722671,
  -49888550,
  203779445,
  1458550441,
  190934554,
  122562907,
  23809742,
  -474076370,
  -1043345364,
  -805145394,
  478239207,
  -392628893,
  124732562,
  -397230294,
  -1383134570,
  -274196675,
  -515215031,
  584700153,
  198913804,
  -370527805,
  178070378,
  -1274677330,
  398471461,
  1180150383,
  1062090820,
  1501468689,
  117851447,
  1344946,
  -1480104271,
  -1655692233,
  -859154186,
  843790273,
  902115472,
  512768867,
  -763641238,
  245076529,
  -823410370,
  -330565443,
  -1917105161,
  1760648801,
  757817921,
  503866099,
  -141880098,
  233810430,
  -279574578,
  -1035887958,
  214069296,
  -897376959,
  670065997,
  219045303,
  457000984,
  -805565838,
  -1508264476,
  -809412411,
  1417311209,
  -1539533758,
  -1001254668,
  -98574696,
  607898510,
  314276967,
  -620094468,
  -92917007,
  1120540102,
  611995127,
  1051433505,
  1472991099,
  -471960010,
  -362941038,
  312425708,
  83461898,
  -114556946,
  -39770829,
  -545818435,
  184335107,
  -671821581,
  -699094244,
  -489779644,
  1343727477,
  -1528659646,
  606853768,
  984882037,
  1131241984,
  84676900,
  -1524145881,
  913752357,
  -1457923561,
  -538287704,
  922081532,
  345522817,
  1065839614,
  1520914063,
  1673768647,
  -391997793,
  498463710,
  -694292555,
  374881777,
  901534291,
  923294562,
  93299236,
  -750583728,
  907423967,
  -705795819,
  -810633265,
  -1081256738,
  -969502771,
  538208976,
  -691736293,
  141553599,
  -1337122319,
  -522183305,
  -685320039,
  1168211378,
  1106513454,
  -419755164,
  -1805246655,
  831283283,
  212534920,
  -303752442,
  -109499989,
  -786022169,
  -562018972,
  334911453,
  428563324,
  469493036,
  388942757,
  239278719,
  839921816,
  10559204,
  -297128194,
  -1058877979,
  -825249630,
  -1103121907,
  -748444569,
  -409366338,
  -2041486135,
  1795165364,
  36811860,
  550510600,
  682300745,
  -1418233714,
  -1254220792,
  -418619844,
  -878123863,
  870917095,
  1098062581,
  412297359,
  44163669,
  342407949,
  1317292622,
  1258897398,
  1835365008,
  43427694,
  742956831,
  1150549834,
  1608098867,
  1778787521,
  -1900058392,
  1641841218,
  -308365852,
  364991972,
  280195953,
  -487349038,
  501160545,
  -654443395,
  -10206015,
  -772093430,
  -345319600,
  1290891846,
  -314340115,
  134078256,
  -1972936093,
  -946808144,
  -21504830,
  -1238258825,
  -710567191,
  58573226,
  -423555404,
  -1110038970,
  808318129,
  -1686149747,
  326058399,
  -671778677,
  100298360,
  -354540347,
  492396035,
  -482133869,
  381708883,
  -536411851,
  -608919098,
  1247473317,
  965647703,
  22931399,
  631413755,
  -334448287,
  -981561736,
  -1761853133,
  -369526542,
  935518233,
  -1215293053,
  -1029060111,
  -1171299416,
  1257364253,
  -63788732,
  666718551,
  -1402910582,
  518032770,
  160882398,
  -676851548,
  -709621980,
  -145844575,
  1649206237,
  -165343165,
  -240488500,
  1064866576,
  1721453158,
  -647330242,
  497675395,
  574095543,
  -897690892,
  -1590448912,
  -23208623,
  -131567734,
  1051400327,
  -868095385,
  827349239,
  66595396,
  1354602444,
  526343862,
  -818971266,
  -367629152,
  215817262,
  366168095,
  1092344231,
  511482707,
  -132176090,
  327558242,
  1318945251,
  -880915184,
  -491696991,
  1262398521,
  303138529,
  -453849909,
  1858343647,
  -404226132,
  49335543,
  1462846857,
  84951092,
  1333281680,
  1458916475,
  681012294,
  -402523237,
  589360281,
  -956487870,
  1306085059,
  -1437926802,
  -370127107,
  1755797004,
  -493458307,
  -251187006,
  745049056,
  804295263,
  928855211,
  233666251,
  349984622,
  -648484924,
  192460123
  };

int32_t stim_mul_b[] = {
  -754984100,
  665729628,
  397187732,
  -529396919,
  -1277158407,
  606246707,
  -275850400,
  789697237,
  -764855933,
  40144315,
  1276411337,
  -1356348767,
  1214968342,
  -38735621,
  -1572163679,
  -1576602602,
  335478230,
  -1359601005,
  -1913673185,
  -179810865,
  908189030,
  -687019049,
  -113729136,
  -499720311,
  -1098839267,
  916853026,
  -11047178,
  201513618,
  -566676193,
  791519280,
  181311817,
  404290499,
  -1737907383,
  156614318,
  -1395835784,
  -110284943,
  -32513999,
  122520662,
  196858375,
  -839864666,
  422970417,
  1430364503,
  1802145154,
  -973141868,
  599995686,
  -392110279,
  -1376486425,
  -20178784,
  -1840397407,
  -405332694,
  -488868907,
  -98742754,
  -438114804,
  543827566,
  -1026907787,
  -54630005,
  -382448628,
  -512955196,
  630363241,
  434529727,
  411806670,
  -1024223388,
  -1456442832,
  -1110331544,
  1346297268,
  232138820,
  37004565,
  215223595,
  718998637,
  -1361424533,
  75989766,
  1481063421,
  1502652300,
  84096015,
  -755604649,
  883110104,
  1001202587,
  1358328121,
  -1543989908,
  -1980199977,
  -81158301,
  891111714,
  -1077041913,
  912988634,
  -57602241,
  1482213647,
  253401526,
  -1797748358,
  1267246933,
  230360466,
  -1453770793,
  134326415,
  -1603119999,
  567431320,
  1010046206,
  977077192,
  740131675,
  1636446667,
  361838339,
  -820933567,
  -947115751,
  -815809210,
  -930149705,
  356490297,
  1978518055,
  -510619995,
  -1633971340,
  -1755302342,
  -560782159,
  -723545374,
  1366545985,
  531462663,
  946431471,
  1551401751,
  -178158577,
  930458089,
  -508212189,
  -222050742,
  -95135143,
  -665720361,
  1425376125,
  120150723,
  272988732,
  -268269887,
  -382330247,
  -627977349,
  1857541690,
  -1179037635,
  -1112429555,
  -1998045385,
  213249666,
  1460643544,
  1267643720,
  755451370,
  828139962,
  5836979,
  528677822,
  -1352644367,
  -78140032,
  -491998012,
  326402034,
  -751867884,
  -354961121,
  -29527352,
  1095155294,
  468604048,
  -1299608987,
  -1653773363,
  378172621,
  1367494814,
  -119319919,
  244301993,
  279585407,
  -1318721013,
  -1250283038,
  69380791,
  1452476870,
  -20273815,
  -671021852,
  -49290611,
  621439590,
  294229304,
  -1775284212,
  576402486,
  45051591,
  1145089194,
  -416483577,
  -221183707,
  -607348354,
  -1024590025,
  1199052752,
  473435361,
  -1937862029,
  897427261,
  -1087097454,
  190366930,
  -399537384,
  1229168244,
  -1444391709,
  9638341,
  -598183383,
  -905731386,
  273902439,
  -956903287,
  320098232,
  663304838,
  1303661599,
  238199245,
  -590594494,
  127323736,
  -805512371,
  247824651,
  445336146,
  1162581994,
  240492319,
  1758917806,
  -1672996203,
  668125088,
  727631118,
  -926541411,
  -110875965,
  -1251929104,
  -521629827,
  106672571,
  1182789571,
  23249397,
  1386618954,
  945196487,
  -665380400,
  1355569898,
  1306887464,
  762321898,
  144297261,
  863864838,
  960142212,
  812477898,
  -908582197,
  613825404,
  -2085063918,
  -609997650,
  1098462348,
  1182067148,
  1791830027,
  -225847398,
  -393288817,
  1799534149,
  695468990,
  -637237042,
  866487732,
  -347818633,
  -263045003,
  -307202203,
  -375950298,
  -454642697,
  -619524039,
  724246584,
  646455406,
  -218939120,
  -431687762,
  386368263,
  1391504921,
  684253040,
  837635601,
  869549338,
  -251882778,
  -130770641,
  740496623,
  -153570419,
  -508652057,
  115532380,
  367619341,
  197505939,
  1654629708,
  -368549578,
  1137404992,
  -320693512,
  1289920965,
  142533782,
  -1389104582,
  -1501302374,
  802297340,
  21786629,
  1213574102,
  1345682715,
  -730819486,
  -1404343359,
  304290615,
  -519186160,
  191341191,
  95930736,
  1605853648,
  860276065,
  398878428,
  -479092523,
  -1276610547,
  -22123511,
  -359987438,
  -851848456,
  -961694595,
  1610761099,
  -105150432,
  -580486718,
  1387546759,
  946713419,
  -521306602,
  947541366,
  -804086849,
  -651962587,
  1564957130,
  648521562,
  175099525,
  587776366,
  1200849585,
  -901967093,
  1086569227,
  -643902802,
  604042718,
  1155813682,
  82867742,
  430866730,
  -534938619,
  -571848832,
  1083522829,
  125611107,
  -762722868,
  145040128,
  91343814,
  226307566,
  -1963417354,
  915020106,
  901204553,
  787107627,
  1229168215,
  -801172683,
  608479628,
  -136024808,
  318918405,
  967120844,
  370810408,
  196204706,
  -384835468,
  -293790526,
  463236556,
  -13816145,
  -236459353,
  -1206887756,
  990005668,
  836338464,
  195091476,
  -419217706,
  835076261,
  1896479983,
  418797862,
  -230074983,
  -79426542,
  -200343126,
  -1096156727,
  673862790,
  -281281818,
  -175185437,
  -143046785,
  -238719737,
  1541472978,
  800298686,
  1133815554,
  562315392,
  -1438360372,
  -872231879,
  -7618626,
  552197558,
  -516578136,
  -425662412,
  -33208894,
  -607598501,
  -1439898696,
  1231610988,
  1547205255,
  123931144,
  233213793,
  766579869,
  -1119293502,
  -1138792592,
  1504720204,
  344573430,
  -293447045,
  -268704715,
  154225485,
  204268532,
  -97550563,
  -1122591842,
  -67921579,
  877034183,
  1077606218,
  -589383604,
  -1835689756,
  -892455050,
  1300794215,
  130329386,
  492760034,
  -49585522,
  1158277645,
  -389778780,
  698736293,
  -992780863,
  705045438,
  -244508321,
  -651044887,
  271424888,
  452994073,
  -1049681784,
  -1763229608,
  -772334531,
  929686766,
  -1050542802,
  -913050295,
  -511186257,
  673882135,
  448845474,
  -377846288,
  68038956
  };

int32_t stim_mul_exp[] = {
  1772794424,
  -1800398688,
  -1478771892,
  -830839667,
  1444259527,
  -1214838496,
  1434572192,
  -148211201,
  1912908986,
  -246916977,
  575802487,
  -1395321766,
  -836915304,
  -1040848131,
  -1109149090,
  -1325386714,
  -778506526,
  -1480849229,
  -53810561,
  -362290967,
  -403516556,
  1584520560,
  442989328,
  -890991597,
  1377261369,
  -2134297880,
  -348064460,
  1981125456,
  -452855810,
  369676704,
  361571078,
  -1299008925,
  -1479737237,
  -118736404,
  -350940936,
  -1757268781,
  -743317859,
  837810960,
  1840244288,
  -1793555440,
  -1771200498,
  -655073926,
  419275320,
  -1079537628,
  276596318,
  109897766,
  -788816579,
  1497627008,
  -20022034,
  1130196392,
  2094659742,
  -606803280,
  -1659238232,
  769698746,
  -175902800,
  -349042827,
  -2042384176,
  612861652,
  -1511790079,
  -933747466,
  -633585756,
  1431619624,
  -291586176,
  -1867740800,
  1755068796,
  -1254455920,
  -1090578522,
  1381506396,
  1189983365,
  1115660820,
  -1973833148,
  298597743,
  -659296000,
  -1962370038,
  -1939992513,
  978227224,
  2007403668,
  1391707677,
  857381604,
  80596680,
  1948981710,
  1424384788,
  1341615514,
  -1555477422,
  332461484,
  -908347075,
  1934266756,
  -1760969988,
  1883321722,
  -15685956,
  552354361,
  -63222149,
  675434642,
  -2009439992,
  771210758,
  -796505656,
  13379447,
  -1528605427,
  -1946274860,
  -125097744,
  1627893945,
  1721218416,
  -1120104567,
  1618319309,
  1290262630,
  501240163,
  763607924,
  -188845880,
  -1470594411,
  1261454288,
  -765587890,
  -1295681115,
  -1191002734,
  -2035993655,
  -1389319531,
  -1697971302,
  -2144697953,
  -836374,
  1931005412,
  907212576,
  1304540829,
  -1477704486,
  1619391664,
  -815271668,
  -888457991,
  102985512,
  168745562,
  -63678535,
  -1911947214,
  -1009415302,
  -1529051790,
  -2097397208,
  67453496,
  -163006580,
  1713348390,
  363978350,
  1988293590,
  1231715609,
  1895079680,
  -1408260692,
  -1830768452,
  -472379496,
  -1299316396,
  -754647824,
  -1268615982,
  -1718058064,
  536789402,
  -955538782,
  1697870366,
  -1963235418,
  -1624339367,
  -1214466975,
  -67899660,
  -1820630687,
  1157926292,
  1138334050,
  -962637922,
  -127634809,
  852438160,
  -1023949987,
  206461418,
  1418713328,
  -1108402100,
  -1546661990,
  -542188742,
  598258218,
  50283504,
  216463439,
  714279468,
  -1821886585,
  351900768,
  1405516317,
  -200802827,
  -1603156963,
  843677202,
  -2094319786,
  -1105166640,
  654166808,
  -2071428182,
  -1486926126,
  1905874864,
  1001308742,
  872870139,
  1085200111,
  -416597696,
  -313701460,
  929871516,
  320993985,
  156258322,
  -523496784,
  1029690724,
  1770072200,
  -703053956,
  -353536218,
  -532224124,
  1650086862,
  763676734,
  1957280608,
  -1642343730,
  -691371665,
  -990845150,
  -140374304,
  -1062694084,
  1697746510,
  -343595958,
  -1463153457,
  1546552994,
  947390037,
  1776713840,
  -941867112,
  1996721824,
  -2005374990,
  -1379626342,
  -242786512,
  -1761607852,
  -2130095104,
  1429757836,
  2068909028,
  -290114662,
  -993382494,
  -529823776,
  -929676080,
  1480328075,
  -636008244,
  695185121,
  1045271971,
  1199286018,
  1836068004,
  1924938820,
  1976840199,
  -767795217,
  640064426,
  1342595416,
  918371632,
  1196691879,
  -959406952,
  1946475250,
  1176218592,
  -1102542762,
  -286827600,
  -2073303645,
  1476936848,
  -1030508799,
  1514148118,
  453630838,
  1156412846,
  2084492530,
  1973170708,
  -1216018265,
  -1228807212,
  -1874903832,
  -636373390,
  2131269060,
  -907987014,
  -274495232,
  -728100840,
  -532782484,
  -379881528,
  -1879368350,
  -1454604442,
  1620856224,
  -1873192332,
  -910364076,
  1188923431,
  -1400945148,
  -213931315,
  -1529598175,
  -51373600,
  -2037229569,
  1923801792,
  -1312663488,
  -239973624,
  586637500,
  1986924070,
  1351298152,
  -336027620,
  -1847348510,
  -2101525048,
  -1715901023,
  -861769051,
  1435529888,
  -1208687398,
  -679403742,
  2133638930,
  1684715616,
  292860596,
  1655995681,
  -706147406,
  1559644990,
  -402009382,
  -1133236088,
  1661188700,
  -1861907804,
  -1476223796,
  -65240869,
  -630568260,
  263697694,
  -774709910,
  -1637808994,
  532688804,
  -1116670832,
  1365675264,
  -233997559,
  341938064,
  -1240230428,
  1096159232,
  165975052,
  -512994398,
  2041347046,
  -1947757276,
  1643723092,
  -2000418878,
  1073112615,
  865893681,
  -580527628,
  1008892936,
  720056408,
  -1370750980,
  -582415752,
  -152513274,
  1914031516,
  1716631082,
  1937389512,
  2030815435,
  -933549631,
  2113072620,
  -1952677940,
  -986919136,
  1666335072,
  390191778,
  154366970,
  -848768169,
  606360690,
  524269065,
  -2136940080,
  824811074,
  -2142369180,
  -602988662,
  1846276092,
  -1516716986,
  580264482,
  -1495119748,
  -933223544,
  2049515902,
  -2147290438,
  1545920896,
  -30513520,
  489258640,
  52777396,
  1980560916,
  1831215608,
  -1872364244,
  920297704,
  402258256,
  -794696392,
  1584789048,
  2003977521,
  1812748600,
  168668823,
  -8176716,
  2110028952,
  954116512,
  1806980968,
  -725384768,
  -41896422,
  1482590827,
  1176200251,
  583181340,
  -605206194,
  -1086469508,
  409324383,
  -1303935120,
  883522954,
  -1210967828,
  1386657892,
  -1421606254,
  547007673,
  2005390904,
  -496128242,
  -1680473090,
  1649855140,
  -1319016384,
  -1028393657,
  1915752134,
  -897520118,
  108510663,
  771959058,
  1585824360,
  -964039490,
  1312593512,
  2078053408,
  726697417,
  699276380,
  753238592,
  -1959024617,
  470306533,
  -538801091,
  587548572,
  -886432832,
  1785697956
  };

int32_t stim_mulh_a[] = {
  521334156,
  -810628063,
  -407071892,
  285445638,
  -1431244916,
  -338103364,
  -381317255,
  -223858282,
  683078874,
  977114307,
  -406722494,
  -215698359,
  -1333341611,
  653921160,
  -365012531,
  -262895645,
  -465054286,
  -529623193,
  185839190,
  529937065,
  -1070072912,
  -1167838883,
  -373304712,
  -378403988,
  -1005469153,
  -506954071,
  233889525,
  -55610844,
  1280704378,
  -136225597,
  1094447292,
  -916340032,
  -1111036769,
  898301764,
  -428156159,
  -241424841,
  -977380374,
  -361160444,
  296482813,
  406174353,
  592801118,
  527545135,
  1134109680,
  -679905536,
  -569918619,
  144558577,
  834539977,
  723555768,
  935349548,
  -464420535,
  40861930,
  -608454804,
  -1835821218,
  987402679,
  1528930813,
  650850553,
  1579365270,
  -1402644356,
  -353034935,
  -890395633,
  -420933511,
  222242031,
  -1217291363,
  -1529927098,
  -1386460287,
  1024451631,
  584537271,
  -844599518,
  -499126222,
  -380952037,
  1773928436,
  -1771864117,
  -287299281,
  297294942,
  -530824546,
  -1586261615,
  -120958213,
  1773294797,
  -1416933516,
  1041085905,
  829754075,
  -1806224546,
  1768385350,
  1112097922,
  291951399,
  -404054890,
  -886292265,
  -123376201,
  787623575,
  -465747793,
  -895370285,
  239867444,
  997704525,
  -374640957,
  -996994370,
  763174037,
  -267913821,
  319578364,
  1657944566,
  230828837,
  -556592047,
  336055687,
  -163587269,
  -694679764,
  945146579,
  -945189842,
  74935183,
  727396971,
  -606463785,
  -447807871,
  -1066438563,
  1008469668,
  1518607079,
  295984177,
  -1052124787,
  -1690862471,
  -117551805,
  -987113510,
  -501500649,
  1228141649,
  -739783683,
  -1219479662,
  360322631,
  -347886116,
  352627563,
  -247872007,
  -319164944,
  559202347,
  1026836231,
  1171870355,
  648848786,
  -1464074620,
  -562165853,
  -1446256737,
  -1901021088,
  1322030903,
  740160610,
  -556713803,
  270534108,
  1007081007,
  -690579117,
  335040182,
  802671879,
  -1616478530,
  116950142,
  98074027,
  -1607015312,
  -555396713,
  1179021670,
  -462198767,
  364586007,
  -680250079,
  -401283831,
  529647133,
  363811310,
  -713632655,
  649667357,
  -462758116,
  -84727435,
  -958291291,
  724193570,
  -177447103,
  741449747,
  -200897562,
  1184909077,
  -217830543,
  -78887209,
  -823827498,
  -852785773,
  -446902996,
  55989568,
  -163801920,
  1390285647,
  -474487761,
  1763000399,
  1261585560,
  -404386219,
  -1816730192,
  -1368561592,
  -425929296,
  -1911935030,
  383518321,
  -422382708,
  75691326,
  67297680,
  -107049880,
  -323098456,
  244494975,
  1090132498,
  772609492,
  1417840580,
  414500347,
  1143007533,
  -150506266,
  -1487061470,
  -136186438,
  275602567,
  -23992555,
  16329404,
  -786797300,
  -789833073,
  -449820654,
  108539537,
  -747612847,
  -53735963,
  974142532,
  -239645370,
  719337898,
  46711091,
  849392816,
  45080360,
  110083031,
  1237799393,
  -187278241,
  -162150364,
  1380422786,
  -247831048,
  -358616069,
  153755178,
  -1825159325,
  -1983502885,
  882902372,
  714317609,
  1414945905,
  543921464,
  641246732,
  129355999,
  997854421,
  -793110372,
  1267922137,
  1328048245,
  -681848033,
  160124929,
  443697801,
  390896513,
  988960933,
  -11494925,
  -1918231124,
  -746803954,
  -227365461,
  -209112534,
  -1789803927,
  -1455017,
  154351662,
  -1183055481,
  -370795205,
  -338844786,
  -1241849551,
  -51925735,
  768579060,
  559220478,
  -369889032,
  283180536,
  354558575,
  -865439078,
  1313736181,
  1249216655,
  1157091972,
  238255618,
  393571200,
  532306467,
  -350500809,
  -535403118,
  1920146382,
  315746235,
  649190053,
  1041018401,
  -2776962,
  1277664231,
  -740930491,
  -117846110,
  1263434938,
  -169845470,
  -798023871,
  284539219,
  -355460813,
  941934711,
  -443303310,
  654269261,
  -172804551,
  -814320145,
  13041656,
  265327029,
  666074700,
  -74232928,
  84962958,
  435132424,
  141746080,
  -214003433,
  -1128140335,
  838091380,
  823175119,
  -410087481,
  -728661684,
  274761252,
  -251591160,
  1218604929,
  -417510521,
  1206031785,
  1134607668,
  -1736183954,
  399680964,
  -69183953,
  959252015,
  345405769,
  180376034,
  -756275286,
  1141594258,
  1090429277,
  -912413253,
  -498199723,
  -506968013,
  -54326612,
  65435895,
  973713862,
  1155110038,
  1242251580,
  1367854041,
  -286598242,
  -1209143681,
  -2052704212,
  -1175909450,
  330149695,
  -982640804,
  -558568416,
  -85369800,
  -752417000,
  -340531309,
  -364429281,
  -627609541,
  -576014655,
  -1199147476,
  -174386892,
  -1209474394,
  -511218007,
  -408341856,
  328674946,
  404957627,
  -602096950,
  181263070,
  238160068,
  -1178364178,
  -690040086,
  -282325787,
  1074132435,
  -293724427,
  503982776,
  -949567162,
  778248824,
  73928417,
  -89042154,
  741846623,
  1257434196,
  -1974753136,
  -530230909,
  585451521,
  -1977251144,
  -972612242,
  703493188,
  742311543,
  -43946638,
  473179103,
  -785317331,
  -67804369,
  -190707167,
  -996279246,
  637999276,
  2051879943,
  345779076,
  -488866608,
  1940542357,
  -913044424,
  -335320188,
  870637810,
  1101201335,
  233608616,
  1739581175,
  1749828558,
  -318522054,
  -502548174,
  -1020298417,
  223257855,
  208555077,
  1166387023,
  -316125828,
  -478429842,
  -236836561,
  -331746978,
  -590850127,
  38452808,
  -1338640944,
  -87967386,
  161371352,
  99258920,
  -183687789,
  371467037,
  -528908110,
  -714721566,
  644566559,
  -535927669
  };

int32_t stim_mulh_b[] = {
  -433873341,
  10831951,
  -275710328,
  228538847,
  -1167754461,
  -856803346,
  379385763,
  751689533,
  -860421309,
  761030655,
  1009012309,
  -185566484,
  402058848,
  -1410089475,
  -1430777137,
  -214462268,
  1083935535,
  1736549754,
  917019423,
  884321377,
  1605344590,
  -559190276,
  817600778,
  53483836,
  -1250028187,
  -1625762922,
  145759379,
  1918575687,
  -1075902725,
  -565933490,
  -402571742,
  1261631259,
  836818645,
  228821554,
  -640390405,
  -183337720,
  1787706983,
  -493441255,
  -839919760,
  785655708,
  355318846,
  1447392740,
  8988948,
  91327626,
  345724655,
  -1011966108,
  73104112,
  -1427227905,
  363920724,
  654154529,
  -1059341275,
  1256518273,
  727720194,
  -1093041511,
  740260317,
  1821005648,
  726142401,
  -1465549921,
  -1101190495,
  267873230,
  -140912973,
  -1462075593,
  1206097082,
  -1627276994,
  -118656901,
  -156075321,
  -2067015784,
  263275765,
  -144687023,
  1206372715,
  132252307,
  1218314049,
  -991904147,
  -878418889,
  1850457673,
  -1110115104,
  398750052,
  -1704696161,
  -530709144,
  -408266966,
  -725935862,
  42089857,
  499604338,
  -545736629,
  -1343065322,
  -1141664585,
  176168159,
  -115473069,
  -2044846112,
  92254806,
  -1909162144,
  -1432930469,
  326322839,
  -608388861,
  1450806631,
  1076721355,
  373190151,
  -325489668,
  -1290979070,
  1148620259,
  -1145026153,
  -1418395653,
  991177076,
  -557730517,
  -759767655,
  -1542823101,
  -763832772,
  -35603884,
  -36355500,
  -2037039422,
  -909098914,
  153536394,
  -659699693,
  889816511,
  -675461027,
  -815085550,
  -1328453325,
  586671976,
  453561693,
  29308220,
  1247923516,
  223028213,
  -942543077,
  -773296500,
  -1324927999,
  133338148,
  905146391,
  -174373264,
  -1837198905,
  1065970326,
  1424644246,
  516958949,
  -331198220,
  619352706,
  -895553530,
  -621741899,
  1657053546,
  -1059462454,
  379567327,
  -1160384789,
  1703764506,
  252567883,
  34048036,
  -246293970,
  -1310074079,
  604880759,
  -353753726,
  405255814,
  -193692418,
  679109073,
  -273854645,
  -723575183,
  496652793,
  -1693161235,
  1834639553,
  86478795,
  -417371015,
  406653543,
  -1354777652,
  -1132110215,
  -1060972720,
  -270693430,
  -14153880,
  321800032,
  34077394,
  -249999275,
  -1642654142,
  -1888851453,
  1385574511,
  1551117480,
  896300877,
  926442658,
  -669596361,
  -1484059079,
  931887158,
  657034359,
  197077548,
  620648517,
  1087253039,
  678683806,
  -1630988917,
  961252082,
  860030681,
  1674996131,
  -353420919,
  719460341,
  911881043,
  622471768,
  202537751,
  335911262,
  -1626093090,
  -654006311,
  75471462,
  478399940,
  1022016070,
  1488987215,
  1288414714,
  6042318,
  55054223,
  299894616,
  277049601,
  400280541,
  1448219390,
  497939140,
  -655854116,
  1545384756,
  -1711283456,
  -1104258401,
  -53747026,
  -1662637330,
  461267687,
  -212323808,
  -1397451598,
  765359251,
  1632994026,
  52258755,
  594682582,
  -40401764,
  362900803,
  -575273801,
  -802022265,
  64679349,
  63725114,
  386677976,
  -1027393384,
  393575130,
  -324798648,
  1289382892,
  1342349817,
  1611666233,
  -517387299,
  -3922618,
  2056849235,
  375720819,
  588941898,
  482820855,
  -598044685,
  1353356027,
  -1053246062,
  252182979,
  -604952838,
  -1303274455,
  343377621,
  -668957923,
  -1007923153,
  981327392,
  -347763371,
  -1651223248,
  614120024,
  -408569823,
  -1618036249,
  1208540424,
  -811407835,
  -159341150,
  -1763454184,
  187819690,
  410676488,
  715147494,
  -1811668737,
  -363680245,
  -187309599,
  -382825225,
  -110036941,
  1148098163,
  -1384868820,
  895339275,
  293759565,
  -1146976405,
  1437377443,
  1588236224,
  -641142943,
  739721857,
  -186193899,
  -644494504,
  546784298,
  -1403986351,
  -45058312,
  -810576032,
  -916588100,
  730938340,
  -557841582,
  -1291610641,
  187001204,
  -1297154232,
  339977130,
  1008211719,
  -1771421129,
  320728938,
  289671868,
  -198036469,
  59166521,
  1644225220,
  -374894827,
  -20623763,
  454990357,
  -72997892,
  -19455320,
  -895102880,
  456431903,
  -729081164,
  332034750,
  -592070277,
  360558212,
  392814952,
  1028532229,
  -465890774,
  534319471,
  648437070,
  -1249620253,
  1633919553,
  1154312287,
  669904323,
  -300620675,
  -53573257,
  -494704422,
  206088106,
  -275312273,
  -1595953477,
  1679037864,
  -797707249,
  -1815080344,
  -718491031,
  -443475267,
  26480162,
  431122995,
  76360188,
  -104316427,
  -94267654,
  1383785157,
  339359138,
  1541401916,
  -265440004,
  -935800232,
  -550469157,
  -811943699,
  1594254054,
  -620696621,
  -1663978009,
  -1248055107,
  -1333590615,
  878901378,
  -172123526,
  343431612,
  761462784,
  440533149,
  560656457,
  1448641951,
  375796110,
  854967698,
  -404520441,
  -571955782,
  633016874,
  -665286513,
  277019299,
  -694982550,
  -1035666819,
  -120313047,
  329756842,
  1590939661,
  -356148902,
  -639936823,
  -1406110593,
  -243618814,
  -175000689,
  407726159,
  662668549,
  405023192,
  1205746212,
  370406657,
  -1471609587,
  1185007019,
  -1153699840,
  958753034,
  -958465233,
  643457879,
  -662926789,
  171010210,
  186715430,
  1092004677,
  478732096,
  499891489,
  -478690809,
  1350545455,
  -1204410094,
  -563246871,
  1046874411,
  243311133,
  931110150,
  -1251739852,
  822529482,
  -75234582,
  584098571,
  694919203,
  64998363,
  -1653336476,
  -255490946,
  -493308965,
  -334795719,
  -531826083,
  -553578276
  };

int32_t stim_mulh_exp[] = {
  -52664660,
  -2044413,
  26131496,
  15188804,
  389139781,
  67448265,
  -33682757,
  -39178862,
  -136842863,
  173136112,
  -95550903,
  9319369,
  -124816269,
  -214690191,
  121596172,
  13127270,
  -117367336,
  -214138308,
  39678566,
  109112513,
  -399964806,
  152048689,
  -71063224,
  -4712143,
  292636636,
  191896020,
  7937567,
  -24841543,
  -320820448,
  17949991,
  -102583681,
  -269171603,
  -216471098,
  47858526,
  63839158,
  10305615,
  -406817934,
  41493089,
  -57979900,
  74299331,
  49041912,
  177781330,
  2373581,
  -14457423,
  -45875767,
  -34060418,
  14204602,
  -240439313,
  79253941,
  -70734601,
  -10078477,
  -178007079,
  -311053399,
  -251287622,
  263519307,
  275951468,
  267020447,
  478617224,
  90514941,
  -55533172,
  13810347,
  -75654744,
  -341835330,
  579658702,
  38303686,
  -37227669,
  -281317105,
  -51772824,
  16814350,
  -107002013,
  54623495,
  -502608472,
  66350528,
  -60803605,
  -228702174,
  409999158,
  -11229910,
  -703830466,
  175083888,
  -98962566,
  -140245129,
  -17700655,
  205704242,
  -141307845,
  -91295178,
  107403648,
  -36353357,
  3317051,
  -374989819,
  -10004145,
  398002344,
  -80027005,
  75803551,
  53068479,
  -336776964,
  191322943,
  -23279060,
  -24218917,
  -498344129,
  61731477,
  148385868,
  -110981038,
  -37752081,
  90208860,
  -167193776,
  339527782,
  -13326749,
  -6029885,
  5133518,
  212388645,
  225728875,
  36050750,
  -233255472,
  61320980,
  165465588,
  320886626,
  36359319,
  -134834981,
  -52960004,
  8380656,
  -214947727,
  -63324899,
  -79073851,
  62635893,
  -108779905,
  -7695238,
  -67262677,
  -22703302,
  -439235568,
  290847156,
  215223685,
  -176221709,
  43350348,
  -208556425,
  396386288,
  -191377943,
  285563469,
  137327558,
  23908426,
  -272086236,
  -273944854,
  19702219,
  6363122,
  92696611,
  -35672763,
  13812233,
  132361346,
  -52404997,
  -53170966,
  -73081669,
  -23246644,
  114602054,
  -46402853,
  -208797398,
  155405751,
  -14368932,
  -63132571,
  -43814590,
  26725892,
  252595953,
  -178895337,
  11183732,
  -2443416,
  -15052232,
  9401378,
  12679369,
  30171219,
  362304916,
  -275112277,
  -161397981,
  11684256,
  -35332769,
  -216749080,
  163951858,
  382521523,
  192994498,
  -18555542,
  -262528402,
  -346445654,
  -67304661,
  726046237,
  85834829,
  -84578546,
  29518892,
  -5537740,
  -17932184,
  -68598278,
  35434779,
  51407372,
  60426124,
  -536800542,
  -63117092,
  20085007,
  -16764316,
  -353856180,
  -47213367,
  82675926,
  -33754,
  209315,
  -54937852,
  -50948686,
  -41922195,
  36598430,
  -86674863,
  8205639,
  350509076,
  95484116,
  -184945511,
  -584541,
  -328810933,
  4841506,
  -5442009,
  -402742238,
  -33372812,
  -61651361,
  16796210,
  -34314769,
  3373418,
  12991455,
  244464339,
  370390125,
  13295922,
  10598444,
  127388261,
  -130110727,
  58761510,
  -9782299,
  299563729,
  -247878853,
  475781805,
  -159981497,
  622735,
  76683433,
  38814381,
  53601184,
  111174528,
  1600589,
  -604439912,
  183137209,
  -13349974,
  29453826,
  543102095,
  -116327,
  -24040874,
  277634014,
  -84720434,
  27436251,
  477435730,
  -7424652,
  -73113063,
  -210674248,
  -104081316,
  -53498640,
  -13153947,
  355337318,
  57449918,
  119447686,
  192665360,
  -100499079,
  -33325998,
  -23214638,
  31241344,
  13717012,
  513279003,
  -101809185,
  135331729,
  71201732,
  741591,
  427590158,
  -273988733,
  17591799,
  217601293,
  7363080,
  119749922,
  36224158,
  116196956,
  -9881796,
  83663276,
  -139627471,
  -29408716,
  105766029,
  -3921973,
  11552235,
  -201166053,
  -5876063,
  19944424,
  -179466506,
  10584962,
  -14433352,
  52017375,
  11545361,
  315132851,
  35795307,
  3498919,
  29107024,
  4276080,
  -5520031,
  87012273,
  128166606,
  -192602417,
  -134220674,
  -55096862,
  -5807924,
  87732573,
  82715639,
  -19566047,
  -94085143,
  172353357,
  -317260276,
  -347106218,
  -133895796,
  -79073958,
  3802520,
  -816215,
  -112154650,
  55426368,
  -79629735,
  -508276609,
  -112040272,
  224575092,
  867485782,
  196714045,
  -34089486,
  -6058367,
  -56068341,
  -1517789,
  18274749,
  7474116,
  -117414592,
  -49589443,
  -206723366,
  74110392,
  37995934,
  155013601,
  96643399,
  -151572903,
  -47499181,
  -156890738,
  174960627,
  -56282322,
  48735926,
  47223688,
  -55176574,
  -50054067,
  110173352,
  -38342201,
  169987462,
  -83084136,
  154920296,
  -6962930,
  11857639,
  109337603,
  -194775409,
  -127368777,
  85798378,
  -141172837,
  55387874,
  -74674735,
  260587598,
  -61554239,
  6547912,
  -154912041,
  44544710,
  2762724,
  -18104050,
  -153715472,
  60164486,
  576033831,
  29820686,
  167503204,
  535407176,
  245258958,
  -74852549,
  -194291601,
  164978363,
  -36057414,
  69263889,
  76070425,
  -80984918,
  -56015780,
  -118752592,
  -24882957,
  65579803,
  -327082422,
  41457098,
  -116614616,
  -13416860,
  -71919751,
  172199367,
  7364099,
  23448861,
  -11963217,
  26109640,
  1502145,
  70710136,
  -22097134,
  60749033,
  55713048,
  -79813718,
  69075709
  };

uint32_t stim_mulhu_a[] = {
  897057537,
  3702365279,
  4231080272,
  3137278431,
  3870759257,
  1038394408,
  698121241,
  454087725,
  120005597,
  3233357053,
  3607155689,
  3179167462,
  478567244,
  460733744,
  349499748,
  4234415805,
  2960425534,
  28221313,
  2807317234,
  727994288,
  3883470129,
  372598967,
  3800876733,
  1479173764,
  1449407000,
  3202847676,
  402231550,
  1063034824,
  219726322,
  3916449329,
  3848627667,
  2614792781,
  3838618716,
  3221119051,
  3103731554,
  597979972,
  4120865803,
  3636062374,
  3009511965,
  3955186786,
  3261737137,
  3840622525,
  628784069,
  28807050,
  1219627944,
  3429935315,
  4006787315,
  3958895140,
  3781125060,
  3884580529,
  25121776,
  4022098367,
  1526631574,
  4176325525,
  3624010437,
  3085424999,
  3297214400,
  415715756,
  2850086993,
  174623806,
  4162274888,
  3076777589,
  4151476734,
  4190555077,
  3548843493,
  240785783,
  3656932277,
  73186916,
  3075254235,
  65038309,
  306133918,
  3791533637,
  953683449,
  821473111,
  232025095,
  3578153150,
  3753193337,
  3499711988,
  916867295,
  3974649093,
  2834387268,
  4215733189,
  4012978977,
  48391003,
  3456041574,
  545008145,
  3609620035,
  3699665124,
  4071027947,
  296180067,
  1265394401,
  4266744705,
  1230036517,
  772105502,
  917793803,
  1325320466,
  150238831,
  2326677008,
  3990155686,
  25202116,
  3214288071,
  3488825607,
  738856282,
  3374402712,
  3679986511,
  3860878014,
  421568990,
  3122004693,
  878349186,
  2743259094,
  4064613429,
  1055422284,
  4126765852,
  157788908,
  265792253,
  1418467392,
  162720089,
  3188405216,
  4228334557,
  3795356241,
  1455050384,
  4083620228,
  471262929,
  4254065231,
  3094218161,
  2091488911,
  4120146286,
  3530842358,
  4150862741,
  591240477,
  3990077821,
  3164395585,
  4029765650,
  2835299685,
  1262120698,
  4180931296,
  332130642,
  108029441,
  729809042,
  338505176,
  937427524,
  3633661188,
  3527459521,
  108377818,
  199704117,
  3315264721,
  230873629,
  3482113135,
  194656639,
  485331630,
  12340297,
  2990029558,
  4176293071,
  2947127914,
  4027727241,
  42494352,
  180361073,
  3483216713,
  1441692503,
  3812145042,
  3475289849,
  245349567,
  139001974,
  440723148,
  4091916460,
  3901342058,
  2662749423,
  3882466709,
  37789332,
  391562627,
  856976062,
  2901654284,
  4058029689,
  2331236663,
  3029673133,
  198183612,
  1383402625,
  3404379796,
  774326803,
  3715545013,
  141011139,
  4126938209,
  3900157081,
  3529958781,
  459157196,
  986492715,
  4175454490,
  20342284,
  3714784452,
  2908323263,
  4168185935,
  3255013680,
  229368498,
  4208720194,
  63310057,
  17644753,
  1067989370,
  16513796,
  3742107354,
  4246906874,
  3647560643,
  4241691556,
  3546181249,
  4069147490,
  1484773134,
  2669870861,
  105403463,
  4236859591,
  1943770008,
  3898653695,
  4123031874,
  3249564932,
  459576465,
  3921841397,
  278522600,
  2460506834,
  958967663,
  3727286702,
  3308982863,
  1081333061,
  4078303482,
  397130178,
  3181523364,
  3792256378,
  1577828423,
  732733446,
  3433956235,
  1864282397,
  477137513,
  512243966,
  3634983612,
  407049902,
  825015165,
  159951692,
  307121712,
  911903948,
  748140702,
  281623691,
  3907134161,
  4057329310,
  684372552,
  1712800379,
  4097160614,
  3185036560,
  3959518350,
  3650843154,
  622719556,
  802282682,
  4229588939,
  140183701,
  1584014895,
  834352851,
  306440272,
  135840157,
  516493371,
  934318003,
  3821619854,
  977493906,
  481138229,
  1533064163,
  1454666717,
  2926759048,
  27820718,
  3386772154,
  205704616,
  2713955007,
  3922882362,
  4199401217,
  1450511255,
  654895441,
  307910158,
  3612676742,
  3000352333,
  1106656169,
  3133640537,
  593086879,
  944736790,
  885240724,
  2626904139,
  342779888,
  214783000,
  1141228871,
  1572713603,
  2702031506,
  587147898,
  146085846,
  153573555,
  3901749239,
  3349441448,
  469834969,
  653983187,
  243352256,
  3909336058,
  1174490165,
  3629060442,
  3660073879,
  120896124,
  1278573641,
  2511023639,
  1251340278,
  1023017203,
  124696979,
  25043941,
  625531087,
  237537604,
  2560772387,
  179019710,
  943069386,
  332704855,
  1609972083,
  3650976988,
  47455123,
  363959702,
  105529606,
  3562134847,
  629485972,
  4022717767,
  4251823073,
  1675714441,
  351617376,
  3795448303,
  182158964,
  4202529743,
  101450407,
  1972927403,
  46542316,
  1436741508,
  4203013454,
  3017116653,
  920988938,
  449213098,
  60600172,
  1105247984,
  1026091445,
  73816087,
  1163318382,
  4031437038,
  1555516842,
  3935776758,
  1267113344,
  1078849936,
  700064526,
  175937914,
  3833437400,
  536026610,
  443288598,
  866576695,
  1275018739,
  885858222,
  34692342,
  3603985832,
  3409280006,
  643289858,
  2752058076,
  4244956683,
  3858499463,
  159490716,
  4020715972,
  3981180919,
  311569515,
  2588381642,
  507803723,
  3951432612,
  203371358,
  698028791,
  534198563,
  4038823318,
  3587456146,
  603229429,
  437706561,
  4014482956,
  2951960456,
  967859570,
  3307434519,
  2795741693,
  4004644779,
  997276855,
  1408051001,
  4068424698,
  382545610,
  4011048779,
  106831494,
  3894243379,
  3962531436,
  238610270,
  2772662747,
  3549886640,
  1603369606,
  931241359,
  3888375255,
  3395813661,
  927620662,
  3305378738,
  3053553239,
  3550412135,
  3074986948,
  4111650563,
  4019046217,
  3925744451,
  1439658572
  };

uint32_t stim_mulhu_b[] = {
  4206912797,
  2957244382,
  130347779,
  3757827506,
  1713459797,
  4001619254,
  1809132965,
  3767098697,
  211014543,
  1203763163,
  3986465552,
  3500235216,
  2648048141,
  789029784,
  3310452828,
  621889123,
  557964013,
  1245975818,
  569048233,
  3366906925,
  4240042861,
  4066457386,
  1293989991,
  3733627651,
  1294953820,
  3309480515,
  73641114,
  20850154,
  3430868085,
  3020884024,
  700428904,
  1419283274,
  384005643,
  1312373070,
  4271830715,
  1369658109,
  642000724,
  3935251408,
  2717679768,
  3874305946,
  100508078,
  543610387,
  441745075,
  4107853300,
  151554479,
  4023611841,
  3137569556,
  376765379,
  260532917,
  1427413409,
  448281252,
  3818584042,
  3225154220,
  1419954569,
  3492225794,
  337706108,
  3833625651,
  3202264554,
  4030549547,
  3118477905,
  73510886,
  986097362,
  758373939,
  4078860465,
  1218419081,
  720461859,
  914960028,
  142657036,
  1168438684,
  3304097064,
  3927731665,
  3389396715,
  333126281,
  3560258310,
  3815613423,
  259009113,
  1361631734,
  3928419057,
  1539220798,
  3392245561,
  3627666540,
  1091023205,
  652468159,
  2909765591,
  3525324982,
  3421724439,
  2426689128,
  1519447629,
  3507621996,
  145305894,
  1059217706,
  342101043,
  470103266,
  4124713526,
  2530960777,
  601798979,
  3464082859,
  1056840486,
  4067227350,
  3645736945,
  1054761832,
  3685616672,
  2455686212,
  328798025,
  1045253949,
  4205611170,
  4282018167,
  3542879894,
  4258019814,
  1108943279,
  995775681,
  2595779913,
  1026819376,
  3434684245,
  913546749,
  143795548,
  383572032,
  4041205207,
  3813921520,
  859863702,
  98267454,
  1341515236,
  1385875907,
  82630814,
  2910927530,
  631326703,
  188449916,
  3375275568,
  1339798087,
  2989991624,
  3424544830,
  3519000720,
  1474019751,
  110805411,
  1541504213,
  1793278958,
  1124440088,
  16174740,
  73167828,
  3311177444,
  3675580099,
  2320186362,
  567571638,
  3299257813,
  1234688928,
  2417496012,
  3317830895,
  270790505,
  80029118,
  1268549560,
  762193475,
  3208741567,
  2488639294,
  691665700,
  1560126731,
  4158630896,
  3346416439,
  691725240,
  11239786,
  2743080781,
  1014967331,
  934874745,
  2537917050,
  1333200611,
  374782428,
  4115979816,
  399720865,
  4011085544,
  808582555,
  1129756132,
  1350363795,
  4142453450,
  102630148,
  412113196,
  199310991,
  1241044773,
  3144411719,
  3008786703,
  3690130566,
  3451087754,
  4110599397,
  3873793961,
  3211899159,
  3855088324,
  412022485,
  2822585179,
  1241458809,
  848643148,
  340227180,
  4080200102,
  3086630353,
  4039918877,
  3451154017,
  2246096958,
  1128823007,
  535265531,
  3653489059,
  194336567,
  3928926550,
  4231960021,
  228564704,
  259431687,
  3443189952,
  2817220485,
  1044185285,
  233481569,
  509469899,
  1219197635,
  3480255337,
  4159581520,
  968860430,
  980620233,
  3998055033,
  3233822427,
  3421259565,
  455692695,
  29306906,
  415191374,
  1397323713,
  3075818523,
  978344537,
  1365288670,
  1366414198,
  485655340,
  3374191039,
  2851186999,
  3271887671,
  3979002044,
  4238184450,
  3840668616,
  1451593028,
  201720819,
  3806582552,
  2527004486,
  113701613,
  3693444319,
  4174033583,
  3634920705,
  2308432151,
  1179954158,
  3640954367,
  3162957267,
  3911644450,
  3292319086,
  2850257180,
  2877034623,
  3415264463,
  636813134,
  3470226638,
  470550726,
  3649887279,
  114497450,
  22181299,
  4001074081,
  640943392,
  394093248,
  4218937240,
  4212378235,
  292932818,
  563987348,
  2990658836,
  4138216194,
  646061602,
  3375079223,
  3756404926,
  64573267,
  1150269842,
  1345353032,
  3962505402,
  4275297038,
  4073921574,
  753352639,
  3231631834,
  2905046731,
  180466235,
  909038217,
  1822963886,
  3563577692,
  865465845,
  4270880492,
  4234016975,
  3479773753,
  3570012031,
  886740121,
  3335218019,
  2777822291,
  1207771727,
  375248485,
  3862079513,
  3901335927,
  3645465704,
  4255461392,
  1879242575,
  2568373357,
  4178821237,
  3814254333,
  253679752,
  652545759,
  1387767558,
  141580682,
  3698038070,
  1298406641,
  849122577,
  4049385902,
  4223518761,
  822658207,
  3574626298,
  1269276416,
  4083220550,
  448385239,
  809273408,
  3594631686,
  3376722672,
  3423359442,
  2738632943,
  510042002,
  3646805790,
  4205384992,
  1046449228,
  813320899,
  386272596,
  298380338,
  701062427,
  4225957720,
  1267228265,
  300538974,
  1185731503,
  151790358,
  1626247792,
  66370631,
  130213470,
  3399865339,
  350608912,
  505431647,
  4279985031,
  1918390556,
  3062952067,
  2474123954,
  665843877,
  3383939768,
  2015378289,
  1308341680,
  2669945146,
  6669907,
  66643938,
  3125096078,
  4181793649,
  3341169671,
  1383507826,
  1292006593,
  1164531027,
  687050791,
  1132568059,
  166821753,
  3533963102,
  292258091,
  324111299,
  3200001936,
  856554367,
  394723343,
  4239225735,
  126248820,
  420596931,
  3258745201,
  470799560,
  15034613,
  1808567528,
  4137173319,
  566876552,
  3792798108,
  3977839391,
  3908578492,
  4147355874,
  3229159761,
  771584232,
  3442962613,
  224486298,
  1460952728,
  1752261465,
  4225875181,
  3183445216,
  3182383409,
  211973992,
  421687268,
  4118811632,
  653102158,
  1069933026,
  734928948,
  4224221778,
  3132893230,
  3715161797,
  2604155170,
  2585260151,
  3188160562,
  3046252739,
  3483335823,
  3056299566,
  2814995009,
  3215605243,
  375067168
  };

uint32_t stim_mulhu_exp[] = {
  878666255,
  2549215900,
  128408874,
  2744922223,
  1544223718,
  967471640,
  294063741,
  398278533,
  5895953,
  906222526,
  3348058530,
  2590900731,
  295059080,
  84641540,
  269385620,
  613121579,
  384592197,
  8187041,
  371946699,
  570688631,
  3833807957,
  352775170,
  1145130128,
  1285850085,
  437003358,
  2467949403,
  6896625,
  5160560,
  175519852,
  2754651757,
  627639251,
  864065172,
  343204300,
  984247284,
  3087012046,
  190694843,
  615976478,
  3331531672,
  1904296171,
  3567804508,
  76329086,
  486104352,
  64671567,
  27552045,
  43036434,
  3213232463,
  2927047642,
  347284280,
  229363222,
  1291023179,
  2622050,
  3575980812,
  1146370140,
  1380730539,
  2946672664,
  242601816,
  2943045855,
  309951563,
  2674622656,
  126790367,
  71239777,
  706408699,
  733037424,
  3979701881,
  1006754726,
  40390755,
  779038960,
  2430898,
  836617781,
  50033648,
  279958332,
  2992109315,
  73969601,
  680949648,
  206129175,
  215781450,
  1189873356,
  3201033749,
  328584855,
  3139252248,
  2394014004,
  1070895869,
  609630021,
  32784062,
  2836731658,
  434198344,
  2039462722,
  1308845216,
  3324734785,
  10020264,
  312069466,
  339853068,
  134632965,
  741499012,
  540842329,
  185700250,
  121174324,
  572513430,
  3778578326,
  21392545,
  789367680,
  2993846736,
  422447729,
  258324888,
  895587828,
  3780553047,
  420297978,
  2575313592,
  870793181,
  708298463,
  942368806,
  637873067,
  986606613,
  126183749,
  56534458,
  47490302,
  14532095,
  3000022787,
  3754751794,
  759840260,
  33291079,
  1275501855,
  152064473,
  81843899,
  2097116044,
  307432561,
  180779309,
  2774774549,
  1294845240,
  411598960,
  3181444567,
  2592688040,
  1383003350,
  73147599,
  452987005,
  1745665473,
  86953166,
  406836,
  12432817,
  260968390,
  802238926,
  1962941869,
  466146966,
  83252406,
  57409625,
  1866053613,
  178348193,
  219541409,
  3627082,
  143346196,
  2189933,
  2233831242,
  2419875711,
  474608338,
  1463053034,
  41145441,
  140528022,
  560988885,
  3772861,
  2434715116,
  821264847,
  53404624,
  82136942,
  136804853,
  357064042,
  3738758425,
  247814809,
  3625849748,
  7114325,
  102997356,
  269438477,
  2798616839,
  96968418,
  223688173,
  140594121,
  57265799,
  1012810372,
  2384896544,
  665282598,
  2985510950,
  134958024,
  3722242152,
  2916648808,
  3168429918,
  44047620,
  648307548,
  1206913673,
  4019434,
  294267814,
  2762894349,
  2995517389,
  3061720917,
  184305480,
  2200993156,
  16639439,
  2198998,
  908478973,
  747208,
  3423184374,
  4184604646,
  194111750,
  256213638,
  2842903054,
  2669097312,
  360975567,
  145138622,
  12502980,
  1202702800,
  1575056450,
  3775760499,
  930075169,
  741935596,
  427805818,
  2952883640,
  221863880,
  261057864,
  6543559,
  360314102,
  1076543754,
  774391055,
  928990992,
  126240153,
  1012179696,
  428811079,
  1239565789,
  486420484,
  2615973136,
  1727133865,
  470829379,
  458061537,
  1228534818,
  19117826,
  731201919,
  94109830,
  8130500,
  784189080,
  727075248,
  238344023,
  2099982024,
  1114667996,
  580160234,
  1261363366,
  3731491876,
  2441498603,
  2627644130,
  2445560450,
  495173030,
  118954141,
  3417402553,
  15358334,
  1346104735,
  22242607,
  1582606,
  126544975,
  77076957,
  85730202,
  3753969054,
  958697417,
  32815425,
  201312078,
  1012909195,
  2819942703,
  4184874,
  2661399620,
  179910527,
  40803323,
  1050618773,
  1315417969,
  1338231070,
  651896125,
  292063186,
  633676433,
  2257533863,
  748524415,
  131669526,
  125527996,
  400985835,
  734493158,
  529339492,
  340857528,
  211734992,
  924621306,
  1307252441,
  557862162,
  455944391,
  94482796,
  43185846,
  340893280,
  3011852781,
  426774854,
  555085316,
  241113856,
  1710511455,
  702340446,
  3530922076,
  3250421176,
  7140659,
  194257080,
  811348935,
  41249583,
  880834777,
  37697000,
  4951231,
  589763923,
  233586068,
  490490445,
  148994979,
  278701942,
  316302129,
  168077581,
  687930404,
  39717110,
  286146760,
  84113742,
  2271351367,
  74753604,
  3415641943,
  4163140649,
  408280194,
  66584386,
  341347807,
  12654963,
  685973954,
  99820348,
  582111387,
  3256783,
  396647878,
  148540576,
  1142402015,
  14232149,
  13619101,
  47970661,
  90224154,
  120750416,
  73558592,
  519607914,
  2875015700,
  896058389,
  610158977,
  998339437,
  506241512,
  213255080,
  109370932,
  5953170,
  8317391,
  322544821,
  843742145,
  991871101,
  285355323,
  10436106,
  977179343,
  545370514,
  169633316,
  106893282,
  3492813624,
  262557921,
  12035654,
  2995668653,
  793975289,
  28634388,
  2554788735,
  14926684,
  386955316,
  154305118,
  76515518,
  1869972,
  1700707875,
  3455655614,
  79617979,
  386529745,
  3718065199,
  2686392783,
  934595724,
  2486685863,
  502250671,
  3210232186,
  52124957,
  478954974,
  1659836578,
  376391689,
  2973003789,
  79157476,
  192196647,
  389048144,
  228823804,
  421617185,
  884323603,
  274358954,
  915902207,
  2836311355,
  2937390744,
  562441568,
  1989599302,
  2266657075,
  2518168811,
  2493898428,
  2925851343,
  2634151615,
  2939171260,
  125721251
  };

int32_t stim_mulhsu_a[] = {
  -1230129417,
  -152688216,
  98360337,
  -950851237,
  776539534,
  645457162,
  -441830242,
  -574046660,
  -1163600173,
  -1947061223,
  321634454,
  643973356,
  -715220057,
  230874475,
  -2046398253,
  -463741087,
  -67097610,
  1434097841,
  652364509,
  943156208,
  -320530551,
  -680944057,
  -1454238052,
  1111169099,
  875812552,
  -123085830,
  -1722823822,
  -1005994016,
  625480104,
  291123193,
  1578902751,
  -278788036,
  -389854858,
  -54915190,
  -233537677,
  -677714587,
  -1054702898,
  423387982,
  335342235,
  -112599963,
  -1000852583,
  404633216,
  -59758284,
  168586414,
  102796428,
  622478387,
  32079153,
  -164734422,
  161982264,
  122958687,
  1428011341,
  -234510594,
  450885876,
  417935251,
  -1814847210,
  450203342,
  -265990138,
  -851821168,
  427884297,
  -25588950,
  175819007,
  -1112155552,
  -463490524,
  224943582,
  39824301,
  -859301914,
  535542985,
  -60844699,
  1687583779,
  -565043500,
  -245541649,
  924200809,
  543889974,
  -186380857,
  -119440988,
  339143753,
  280407264,
  -946432746,
  -30981046,
  373819737,
  1325883637,
  -33692636,
  453851428,
  -896651850,
  220357525,
  -223723106,
  -648264343,
  -700549821,
  -728922241,
  1091075021,
  -119354530,
  1273103435,
  1330569988,
  783428357,
  -152260986,
  -193818731,
  -410355591,
  1223195099,
  1166081322,
  308499541,
  229864212,
  141752927,
  -652500905,
  -15749299,
  -1554970070,
  658356051,
  462289258,
  -1620522751,
  -334450918,
  -1192503075,
  -465979958,
  -1123052885,
  1496863929,
  408684941,
  1153005368,
  427487213,
  31455071,
  -1280256956,
  551942939,
  427532980,
  -1786259661,
  -1216937465,
  353146567,
  884902826,
  -809812333,
  -1282705427,
  925386887,
  -714805127,
  1752434989,
  -696027570,
  -900859088,
  -1408197952,
  1556023612,
  318431516,
  503904123,
  -95020817,
  -776926884,
  -504960401,
  -571982877,
  221328615,
  -638196580,
  -788025332,
  -469665864,
  -610735517,
  -43318834,
  -1804428875,
  -92779464,
  1265163813,
  -535450100,
  690704607,
  -1602061794,
  -695348463,
  -324195427,
  1584310623,
  -61072656,
  -392584583,
  -283012089,
  705841879,
  87633912,
  -385934299,
  1093849201,
  -1080211756,
  1251014844,
  -757213736,
  -850347749,
  -725675963,
  -572120429,
  -414773872,
  463176263,
  -120434669,
  -763658651,
  1230728617,
  643695366,
  406583714,
  428506599,
  -13446416,
  -477677754,
  -1756436590,
  403058626,
  -644618997,
  -568783032,
  333010329,
  876497417,
  463151768,
  645457574,
  1435363582,
  98180896,
  -486839818,
  344653979,
  1402948746,
  151452699,
  -462248892,
  -1622800253,
  1536531872,
  -599858527,
  969894050,
  664409564,
  -777356150,
  569907338,
  74753120,
  -295727304,
  -1834545216,
  -1134187428,
  50534250,
  1210987940,
  159556004,
  -78959598,
  -289541576,
  -1297813015,
  -317519094,
  260567894,
  -186762412,
  -16358957,
  1860752389,
  397814577,
  -155282494,
  -1178220037,
  1256477378,
  301941929,
  -997938409,
  270829191,
  -799434813,
  -119183224,
  181288099,
  -51839708,
  291549927,
  -480543309,
  -490998566,
  -1554655175,
  -307124665,
  -506159022,
  -184159838,
  -757751229,
  -432910260,
  -440060801,
  246865990,
  374248770,
  -350922620,
  -828441463,
  91057032,
  -474686880,
  -1284479409,
  -243643707,
  -1069422236,
  416392205,
  80681128,
  -1108824505,
  -327646455,
  650557023,
  -1070638245,
  348536862,
  -623692941,
  627185171,
  -823088235,
  -1691700611,
  430166398,
  1533355902,
  270927453,
  194320907,
  -1254020983,
  -291868822,
  655972593,
  1023753017,
  -738327231,
  -994332405,
  808074318,
  -650215468,
  82970315,
  -449020137,
  813613074,
  938680873,
  -229850319,
  -2018709195,
  -772363804,
  149497544,
  -580817465,
  -368143977,
  -1578274095,
  49841075,
  -540054349,
  1225264311,
  124432983,
  -981525029,
  -535901404,
  75150031,
  -12069256,
  494015613,
  -1214526930,
  -94474148,
  -674129602,
  1331003345,
  1028491822,
  -621038783,
  -163446674,
  771555205,
  1266851838,
  1943260080,
  509112691,
  514735099,
  1862547716,
  -529065618,
  -476553797,
  -777558681,
  68126125,
  -931508476,
  -30681290,
  530560270,
  -384692889,
  1084454332,
  103176547,
  -63172538,
  -1129840299,
  -744957357,
  -771456313,
  454155811,
  1373391817,
  1477473169,
  1230698697,
  23629014,
  -291922573,
  831453187,
  372078434,
  96078665,
  1018886468,
  926064796,
  166170167,
  47467995,
  390276188,
  803291765,
  341613326,
  855228187,
  -102155638,
  -353586231,
  241567385,
  -832322600,
  1589670236,
  -859034929,
  1312244515,
  -72921488,
  -939189046,
  -443297861,
  -1552780238,
  768977845,
  -671412289,
  1070994477,
  -899946500,
  -98718410,
  -635396910,
  -598729166,
  -54491567,
  105258222,
  -669744288,
  542712464,
  -718159664,
  95176905,
  145120560,
  207375454,
  1086278525,
  105837965,
  925586990,
  1026445596,
  -1868523388,
  -900205156,
  -877555084,
  -518118437,
  1525781036,
  -353772458,
  -29854513,
  791694275,
  -74730188,
  -1720401509,
  -1740513457,
  1869231432,
  1136107008,
  197620383,
  1705092589,
  868157667,
  -960995258,
  890426870,
  311552821,
  1186871267,
  326201127,
  -167044003,
  583033731,
  -334615563,
  -704403288,
  402691305,
  455733736,
  -88937064,
  361921673,
  -1476264656,
  1577104460,
  -1133998681,
  -194694059,
  745740067,
  -343855131,
  145318048,
  -67574598,
  -741055794,
  1612880672
  };

uint32_t stim_mulhsu_b[] = {
  637732115,
  3852446147,
  3710510884,
  3655973549,
  4246580450,
  534747636,
  1023236810,
  3183327740,
  548729687,
  306293957,
  3701330070,
  4199459769,
  902418177,
  3951873264,
  1390395332,
  1542882535,
  1158731002,
  3700181590,
  3892612648,
  3955770888,
  3659509246,
  2451184061,
  692715545,
  708988937,
  1379084459,
  3153277373,
  217420558,
  4127789229,
  3110198191,
  607778718,
  1032463241,
  2308698899,
  1700193170,
  486419401,
  621512809,
  3804841272,
  4232032482,
  2773852293,
  528587513,
  2831509803,
  462989319,
  3360987299,
  1012698179,
  3955243066,
  139819984,
  794164112,
  453316027,
  4278448458,
  214279367,
  397095905,
  61675048,
  3402910092,
  1420407338,
  1914350024,
  3621373398,
  4059448646,
  31317662,
  3862564631,
  316892971,
  3606957780,
  302600417,
  246503852,
  1142082938,
  572430672,
  4067303625,
  2471747875,
  3247812159,
  468843052,
  1297015196,
  2585287227,
  3388369469,
  3978297424,
  2759100146,
  692176989,
  1512184267,
  4271694427,
  3137867532,
  1523462880,
  3149787898,
  3306134942,
  3902983341,
  403487629,
  4121337296,
  3135485131,
  2916196957,
  3810889223,
  4213860576,
  322001226,
  1015075218,
  3035998926,
  4290996575,
  618887622,
  4240968003,
  91735718,
  3968919218,
  1167056218,
  3267925726,
  492282963,
  1003919391,
  434931863,
  630779365,
  3238248450,
  244891544,
  517223441,
  3667772773,
  3174447677,
  4221482746,
  759480992,
  3552308143,
  392032598,
  3356372009,
  3981545989,
  2993259523,
  798355860,
  710519340,
  362480823,
  2535262544,
  4197723889,
  1117684751,
  621431959,
  199680178,
  377383923,
  726806576,
  3150310183,
  1319677579,
  584794278,
  920793226,
  3499244582,
  3763097246,
  1647083766,
  270044364,
  3636884211,
  3641271483,
  360659842,
  103903410,
  503864308,
  3783390605,
  2928465519,
  173529533,
  598780353,
  1047744509,
  3783973622,
  1855393791,
  3932972501,
  1122244881,
  3999418706,
  809368442,
  75089110,
  534482731,
  4027230736,
  80633402,
  4023736371,
  3088648303,
  4141222281,
  3759480231,
  3662956772,
  4138262856,
  3558235845,
  24683405,
  527757329,
  982556661,
  1897472226,
  3204988639,
  2672414285,
  1090205787,
  2924111450,
  2859611369,
  555137238,
  57978461,
  2730411569,
  1010538910,
  231670001,
  3643983663,
  3786365123,
  912827710,
  4276478574,
  339375533,
  105648160,
  3222144190,
  1526478128,
  372226865,
  3564741676,
  772444992,
  273569815,
  4202367335,
  3711504668,
  1520010318,
  3740830358,
  1708590027,
  222136069,
  3526505796,
  4062868803,
  389429867,
  1751443242,
  3101396737,
  2521480429,
  3973696729,
  1577852683,
  2716570550,
  47563247,
  1216282045,
  3934410423,
  3896231819,
  4167887187,
  3992178520,
  4245099826,
  469826743,
  1274286583,
  437386330,
  337229463,
  2697948531,
  3816197689,
  794722042,
  691257708,
  346510637,
  398899379,
  3236158482,
  226976538,
  2957966631,
  4170791143,
  202012165,
  2714601186,
  1333620904,
  4227797696,
  235728659,
  185330007,
  3714630433,
  3810603282,
  4016339687,
  693028174,
  2802383714,
  3810909995,
  3685358692,
  520784564,
  613555560,
  69096509,
  2475371156,
  4136003960,
  3320336767,
  3709611354,
  4150327499,
  3746022857,
  3913275630,
  4257792596,
  216945997,
  4012653553,
  4137651152,
  14226617,
  3401381040,
  4239107465,
  2669227248,
  1096728134,
  3978540745,
  11983734,
  3049424805,
  128388095,
  3551136080,
  2559688658,
  421398361,
  3646968316,
  3862294581,
  646836806,
  3575761966,
  4151291472,
  1227395292,
  2777447479,
  3769145527,
  306757426,
  1925754571,
  3743202543,
  18414428,
  3818795047,
  4254643883,
  211083744,
  65090991,
  3675342922,
  289015770,
  544998438,
  2897426821,
  668528293,
  2443480112,
  446286383,
  35696819,
  429491003,
  4137867941,
  511501922,
  3881847482,
  1194528138,
  960188816,
  4177530050,
  3463969461,
  432835437,
  312082490,
  3506529446,
  1095009139,
  824032917,
  882693263,
  81367982,
  178866972,
  1678159578,
  3679204314,
  163131466,
  413507299,
  3722804289,
  1119964951,
  4018069846,
  403568382,
  1124837437,
  3311376456,
  2909303632,
  2974570347,
  942038070,
  3590387319,
  1672320732,
  4156472458,
  856327818,
  1252509750,
  3378632178,
  1159492297,
  3744401517,
  3915953257,
  3664073915,
  2400978315,
  370116368,
  3623458786,
  2674550725,
  82477392,
  916267114,
  1002952442,
  481363146,
  2428999281,
  1252040145,
  4283691638,
  4011462237,
  3226460039,
  3639204663,
  3983695509,
  1586668189,
  3827244282,
  3093781785,
  68835367,
  352813940,
  810483580,
  47189844,
  3894405567,
  1108277379,
  850079892,
  2790584477,
  3629419700,
  870844754,
  420041842,
  2290321340,
  1065674519,
  3727535796,
  3875150028,
  93413570,
  185852539,
  3414422133,
  1046053640,
  183742610,
  3645379453,
  1511885961,
  1632584018,
  522517276,
  644499963,
  1020701531,
  1165685685,
  4112246024,
  87388311,
  3749824921,
  1194558004,
  3020906751,
  110801003,
  1180655838,
  1289222400,
  889139640,
  2542826894,
  1446723934,
  1119279908,
  4073064043,
  506791234,
  3640433074,
  1543199003,
  3367463829,
  3249692365,
  2706015501,
  434200556,
  3577155805,
  4187225530,
  3686001420,
  451008991,
  3001591722,
  4154323390,
  3268457313,
  4007920602,
  1502938373,
  2668776370,
  667910748,
  4197784520,
  1221045640
  };

int32_t stim_mulhsu_exp[] = {
  -182654019,
  -136956370,
  84975525,
  -809386134,
  767791085,
  80363054,
  -105262028,
  -425469749,
  -148662823,
  -138853930,
  277179124,
  629653269,
  -150275319,
  212431574,
  -662473631,
  -166589866,
  -18102136,
  1235497749,
  591250681,
  868670146,
  -273106740,
  -388622103,
  -234547375,
  183425517,
  281217386,
  -90367106,
  -87213078,
  -966836527,
  452941071,
  41196700,
  379550981,
  -149858565,
  -154326802,
  -6219329,
  -33794590,
  -600376267,
  -1039248175,
  273439969,
  41271028,
  -74232905,
  -107890008,
  316642015,
  -14090237,
  155251530,
  3346473,
  115099827,
  3385821,
  -164100839,
  8081425,
  11368280,
  20506015,
  -185803154,
  149114431,
  186281827,
  -1530218732,
  425516010,
  -1939524,
  -766062717,
  31570327,
  -21489864,
  12387266,
  -63830668,
  -123247649,
  29980346,
  37713331,
  -494527091,
  404972354,
  -6641870,
  509624789,
  -340118945,
  -193711796,
  856059067,
  349396585,
  -30037142,
  -42053122,
  337306056,
  204863224,
  -335708065,
  -22720482,
  287755041,
  1204875704,
  -3165231,
  435503855,
  -654589046,
  149618355,
  -198507676,
  -636022435,
  -52521448,
  -172273932,
  771252110,
  -119244187,
  183449116,
  1313841143,
  16733157,
  -140702248,
  -52665676,
  -312228593,
  140200859,
  272563577,
  31240349,
  33758953,
  106876528,
  -37204464,
  -1896617,
  -1327897629,
  486596682,
  454379740,
  -286557765,
  -276619736,
  -108848345,
  -364147613,
  -1041099129,
  1043198213,
  75967055,
  190742456,
  36078485,
  18567513,
  -1251270345,
  143632806,
  61859064,
  -83046185,
  -106928087,
  59760466,
  649066265,
  -248824056,
  -174650642,
  198392657,
  -582374160,
  1535421069,
  -266920708,
  -56641158,
  -1192431175,
  1319196169,
  26739542,
  12190397,
  -11147373,
  -684386556,
  -344300439,
  -23109821,
  30856399,
  -155686160,
  -694270030,
  -202892146,
  -559260602,
  -11318909,
  -1680261129,
  -17483899,
  22118916,
  -66633530,
  647647963,
  -30076991,
  -651436603,
  -233139297,
  1527597767,
  -53458252,
  -334815206,
  -272686225,
  584766239,
  503636,
  -47422866,
  250239115,
  -477226406,
  933531756,
  -471153484,
  -215846589,
  -494056706,
  -380920732,
  -53610751,
  6252491,
  -76563148,
  -179676987,
  66385348,
  546131142,
  358436814,
  91072334,
  -13388533,
  -37744675,
  -43205054,
  302380186,
  -229104609,
  -49294049,
  276392278,
  157637065,
  29500653,
  631541438,
  1240372339,
  34746708,
  -424027716,
  137107528,
  72560626,
  124354572,
  -437269128,
  -147141257,
  626581805,
  -433157962,
  569403373,
  614710643,
  -285579238,
  360466886,
  827829,
  -83746345,
  -1680537551,
  -1028891920,
  49039035,
  1125615099,
  157703451,
  -8637396,
  -85904949,
  -132165308,
  -24930759,
  163679655,
  -165943589,
  -3026991,
  299480611,
  32095001,
  -14422017,
  -887761537,
  66401177,
  207948999,
  -969086001,
  12738348,
  -505276652,
  -37007323,
  178452908,
  -2845215,
  12580526,
  -415612199,
  -435626309,
  -1453799960,
  -49557082,
  -330259046,
  -163404404,
  -650199382,
  -52492363,
  -62864682,
  3971526,
  215695381,
  -337934435,
  -640448334,
  78646978,
  -458701051,
  -1120308700,
  -221991209,
  -1060165949,
  21032668,
  75377853,
  -1068210460,
  -1085294,
  515205860,
  -1056713653,
  216607956,
  -159261189,
  580978057,
  -2296565,
  -1201106656,
  12858827,
  1267799052,
  161465706,
  19065689,
  -1064821797,
  -262466113,
  98791722,
  852322462,
  -713628610,
  -284155578,
  522561366,
  -570611266,
  5925949,
  -201329259,
  709090039,
  4024540,
  -204367391,
  -1999756491,
  -37959182,
  2265661,
  -497024358,
  -24773045,
  -200270889,
  33623275,
  -84061551,
  697073753,
  12929724,
  -8157763,
  -53589426,
  72401227,
  -1437368,
  446497756,
  -337787577,
  -21120771,
  -655696884,
  1073478474,
  103648683,
  -45126148,
  -133442361,
  196709297,
  243058338,
  399375003,
  9645119,
  21436509,
  727747634,
  -453214279,
  -18100469,
  -74861150,
  59050561,
  -242902163,
  -28703261,
  49853080,
  -100749770,
  836103349,
  69889217,
  -43751476,
  -247813896,
  -622748735,
  -300380026,
  439511174,
  273825977,
  430864642,
  968128028,
  6379014,
  -254501432,
  758080700,
  317423344,
  53710022,
  87801962,
  781276640,
  103477048,
  911540,
  83259594,
  187583136,
  38286686,
  483670423,
  -29779729,
  -352657955,
  225621844,
  -625256358,
  1346956783,
  -796777567,
  484775898,
  -64980320,
  -676523420,
  -7104728,
  -127554526,
  145110282,
  -7376970,
  971110270,
  -232223037,
  -19538807,
  -412838710,
  -505950170,
  -11048675,
  10294108,
  -357145825,
  134658730,
  -623279684,
  85873712,
  3156305,
  8973585,
  863571986,
  25777190,
  39597453,
  871201903,
  -657745237,
  -342182012,
  -106761626,
  -77748512,
  362602770,
  -96016445,
  -28584410,
  16108347,
  -65244996,
  -478494771,
  -1224206960,
  48222187,
  312307703,
  59319805,
  352986485,
  513991029,
  -323703243,
  232047612,
  295456171,
  140046690,
  276489502,
  -60019582,
  457126880,
  -253179493,
  -443804594,
  40710155,
  379567635,
  -86706026,
  310606276,
  -155020653,
  1102179217,
  -1096864521,
  -148161599,
  695899822,
  -120325264,
  90296699,
  -10508532,
  -724287830,
  458536882
  };

